<?php

class_exists('Site') || require('../lib/class.site.php');
class_exists('Overmundo') || require('../lib/class.overmundo.php');
class_exists('Conecta') || require('../lib/class.conecta.php');
class_exists('Usuario') || require('../lib/class.usuario.php');
class_exists('Noticia') || require('../lib/class.noticia.php');
class_exists('Dica') || require('../lib/class.dica.php');
class_exists('Evento') || require('../lib/class.evento.php');
class_exists('Produto') || require('../lib/class.produto.php');
class_exists('Topico') || require('../lib/class.topico.php');
class_exists('Post') || require('../lib/class.post.php');
class_exists('Blog') || require('../lib/class.blog.php');
class_exists('Artigo') || require('../lib/class.artigo.php');
class_exists('Paginacao') || require('../lib/class.paginacao.php');

if(defined('MEMCACHE_HOST') and defined('MEMCACHE_PORT') and defined('TEMPO_CACHE_VEJA_TAMBEM')) {
  $memcache = memcache_connect(MEMCACHE_HOST, MEMCACHE_PORT);
  $cache_key = $secaoAtual.'-'.$objetoAtual.'-'.$colaboracaoPagina['cod'].'-veja-tambem';

  $resultado = $memcache->get($cache_key);
  if($resultado) {
    $smarty->assign('itensVejaTambem', $resultado);
    return; // pega cache e interrompe a execucao
  }
}

if (!isset($arrResultado)) {
  $arrResultado = Array();
}

function extraiHits($result) {
  global $arrResultado;
  $prim = 1;
  while ($row = mysql_fetch_array($result)) {
    unset($esseHit);
    $esseHit = Array();
    while (list($campo, $valor) = each($row)) {
      if (!is_numeric($campo)) {
	if (substr($campo, 0, 5) == "votos") {
	  $esseHit["votos"] = $valor;
	} else if (substr($campo, 0, 6) == "estado") {
	  $esseHit["estado"] = $valor;
	} else if (substr($campo, 0, 12) == "codMunicipio") {
	  $esseHit["municipio"] = $valor;
	} else if (substr($campo, 0, 3) == "cod") {
	  $esseHit["classe"] = substr($campo, 3);
	  $esseHit["cod"] = $valor;
	  //				    echo "ACHEI " . $esseHit["classe"] . "<BR>";
	  $somaRelevancia = 0;
	} else if (($str = substr($campo, 0, 4)) == "hits") {
	  $esseHit["hits"] = $valor;
	} 
			    
      }
    }
    $arrResultado[] = $esseHit;
    //	    echo "ACHEI " . $esseHit["classe"] . "(" . $esseHit["cod"] . ") - hits " . $esseHit["hits"] . " - estado " . $esseHit["estado"] . " <BR>";
    //	    echo "ACHEI " . $esseHit["classe"] . "(" . $esseHit["cod"] . ") - " . $esseHit["recencia"] . " <BR>";

  }
  //	    $esseHit["relevancia"] = $somaRelevancia;

}

function cmpRelevancia($a, $b)
{
  global $colaboracaoPagina;

  if ($a["hits"] > $b["hits"]) {
    return (-1);
  } else if ($a["hits"] == $b["hits"]) {
    if ($a["estado"] == $colaboracaoPagina["estado"]) {
      if ($b["estado"] == $colaboracaoPagina["estado"]) {
	if ($a["municipio"] == $colaboracaoPagina["municipio"]) {
	  if ($b["municipio"] == $colaboracaoPagina["municipio"]) {
	    if ($a["votos"] > $b["votos"]) {
	      return (-1);
	    } else if ($a["votos"] == $b["votos"]) {
	      return (0);
	    } else {
	      return (1);
	    }
	  } else {
	    return (-1);
	  }
	} else {
	  if ($b["municipio"] == $colaboracaoPagina["municipio"]) {
	    return (1);
	  } else {
	    if ($a["votos"] > $b["votos"]) {
	      return (-1);
	    } else if ($a["votos"] == $b["votos"]) {
	      return (0);
	    } else {
	      return (1);
	    }
	  }
	}
      } else {
	return (-1);
      }
    } else if ($b["estado"] == $colaboracaoPagina["estado"]) {
      return (1);
    } else {
      if ($a["votos"] > $b["votos"]) {
	return (-1);
      } else if ($a["votos"] == $b["votos"]) {
	return (0);
      } else {
	return (1);
      }
    }
  } else {
    return (1);
  }
}

		


if ((isset($arrTags)) && (isset($colaboracaoPagina))) {
  $resNoticias = $meuSite->OvermundoProcuraRelacionados($arrTags, "Noticia", "", "");
  if ($x = @mysql_numrows($resNoticias)) {
    //$totalResultados += $x;
    extraiHits($resNoticias);
  }
	

  $resDicas = $meuSite->OvermundoProcuraRelacionados($arrTags, "Dica");
  if ($x = @mysql_numrows($resDicas)) {
    //$totalResultados += $x;
    extraiHits($resDicas);
  }
	
  $resEventos = $meuSite->OvermundoProcuraRelacionados($arrTags, "Evento");
  if ($x = @mysql_numrows($resEventos)) {
    //$totalResultados += $x;
    extraiHits($resEventos);
  }
	
  $resProdutos = $meuSite->OvermundoProcuraRelacionados($arrTags, "Produto");
  if ($x = @mysql_numrows($resProdutos)) {
    //$totalResultados += $x;
    extraiHits($resProdutos);
  }
	
  $resArtigos = $meuSite->OvermundoProcuraRelacionados($arrTags, "Artigo");
  if ($x = @mysql_numrows($resArtigos)) {
    //$totalResultados += $x;
    extraiHits($resArtigos);
  }
	
  /*	    while (list($campo, $valor) = each($arrResultado)) {
  //echo "$campo<BR>";
  echo $valor["classe"] . "(" . $valor["cod"] . ") = " . $valor["hits"] . "<BR>";
  }
  */
  usort($arrResultado, "cmpRelevancia");

	
	
		



  //		echo "(" . $colaboracaoPagina["classe"] . ") - " . $colaboracaoPagina["cod"] . "<BR>";
  $ptrArray = 0;
  $itensVejaTambem = array();
  while (($ccRegistros++ < 10) && ($ptrArray <= count($arrResultado))) {
    $valor = $arrResultado[$ptrArray++];
    //	    echo $valor["classe"] . "(" . $valor["cod"] . ") = " . $valor["hits"] . "<BR>";
    $linhaTitulo = "";
    $linhaPostagem="";
    $trechoBusca="";
    //		echo "(" . $valor["classe"] . ") - " . $valor["cod"] . "<BR>";
    if (($colaboracaoPagina["classe"] == $valor["classe"]) && ($colaboracaoPagina["cod"] == $valor["cod"])) {
      $ccRegistros--;
      $linhaTitulo = "";
      $linhaPostagem="";
      $trechoBusca="";
		
    } else {
		    
      switch ($valor["classe"]) {
      case "Noticia":
	$conjunto = "";
	$vejaTambemNoticia = new Noticia($meuSite->linkid, $valor["cod"]);
	$vejaTambemAutor = new Usuario($meuSite->linkid, $vejaTambemNoticia->PegaCodAutor());
	$resComentarios = $vejaTambemNoticia->ListaComentarios();
	$numComentarios = mysql_num_rows($resComentarios);
	$conjunto .= "overblog<br />";
	if ($termo = stripslashes($vejaTambemNoticia->PegaTitulo())) {
	  $conjunto .= "<a href='/overblog/" .  $vejaTambemNoticia->PegaTituloUnico() . "'>$termo</a>";
	}
			    	
	if ($conjunto) {
	  $linhaTitulo = "$conjunto";
	} else {
	  $linhaTitulo = "";
	}
					
	    	
	break;
			    	
      case "Evento":
	$conjunto = "";
	$vejaTambemEvento = new Evento($meuSite->linkid, $valor["cod"]);
	$vejaTambemAutor = new Usuario($meuSite->linkid, $vejaTambemEvento->PegaCodAutor());
					
	$conjunto .= "agenda<br />";
	if ($termo = stripslashes($vejaTambemEvento->PegaTitulo())) {
	  $conjunto .= "<a href='/agenda/" .  $vejaTambemEvento->PegaTituloUnico() . "'>$termo</a>";
	}
			    	
	if ($conjunto) {
	  $linhaTitulo = "$conjunto";
	} else {
	  $linhaTitulo = "";
	}
					
	break;
			    	
      case "Produto":
	$conjunto = "";
	$vejaTambemProduto = new Produto($meuSite->linkid, $valor["cod"]);
		 	
	$vejaTambemAutor = new Usuario($meuSite->linkid, $vejaTambemProduto->PegaCodAutor());
	$conjunto .= "banco de cultura<br />";
	if ($termo = stripslashes($vejaTambemProduto->PegaTitulo())) {
	  $conjunto .= "<a href='/banco/" .  $vejaTambemProduto->PegaTituloUnico() . "'>$termo</a>";
	}
			    	
	if ($conjunto) {
	  $linhaTitulo = "$conjunto";
	} else {
	  $linhaTitulo = "";
	}
					
	break;
			    	
      case "Dica":
	$conjunto = "";
	$vejaTambemDica = new Dica($meuSite->linkid, $valor["cod"]);
	$vejaTambemAutor = new Usuario($meuSite->linkid, $vejaTambemDica->PegaCodAutor());
	$conjunto .= "guia<br />";
	if ($termo = stripslashes($vejaTambemDica->PegaTitulo())) {
	  $conjunto .= "<a href='/guia/" .  $vejaTambemDica->PegaTituloUnico() . "'>$termo</a>";
	}
			    	
	if ($conjunto) {
	  $linhaTitulo = "$conjunto";
	} else {
	  $linhaTitulo = "";
	}
					
	    	
	break;
			    	
      case "Artigo":
	$conjunto = "";
	$vejaTambemArtigo = new Artigo($meuSite->linkid, $valor["cod"]);
	$vejaTambemBlog = new Blog($meuSite->linkid, $vejaTambemArtigo->PegaCodBlog());
	$vejaTambemAutor = new Usuario($meuSite->linkid, $vejaTambemArtigo->PegaCodAutor());
		 	
	if ($termo = stripslashes($vejaTambemArtigo->PegaTitulo())) {
	  $conjunto .= "<a href='/blogs/" .  $vejaTambemArtigo->PegaTituloUnico() . "'>$termo</a>";
	}
	$linhaTituloBlog = '<br/><small>em <a href="/blog/' . $vejaTambemBlog->PegaTituloUnico() . '">' . $vejaTambemBlog->PegaTitulo() . '</a></small>';
	$conjunto .= " &middot; Blogs";
	if ($conjunto) {
	  $linhaTitulo = "$conjunto $linhaTituloBlog";
	} else {
	  $linhaTitulo = "";
	}
					
	break;
			    	
			    	
      }
	    
      $itensVejaTambem[] = array( 'linhaTitulo' => $linhaTitulo);
    }
		    
  }
  $memcache && $memcache->add($cache_key,$itensVejaTambem, false, TEMPO_CACHE_VEJA_TAMBEM);
  $smarty->assign('itensVejaTambem', $itensVejaTambem);
}
?>
